第一章:计算机网络体系框架

1.1计算机网络的概念

  什么是计算机网络?

  计算机网络(computer networking)是一个将众多==分散的==、==自治的==计算机系统,通过==通信设备==与==线路==连接起来,由功能完善的==软件==实现==资源共享==和==信息传递==的系统。

  计算机网络、互连网、互联网的区别?

  计算机网络(简称 网络):由若干==节点(node)==和连接这些结点的==链路(link)==组成。注:结点可以是计算机、集线器、交换机、路由器等。链路可以是有线链路、无线链路。

  1. 集线器(Hub):可以把多个节点连接起来,组成一个计算机网络。工作在物理层,会出现数据冲突,现已很少使用。

  2. 交换机(Switch):可以把多个节点连接起来,组成一个计算机网络。工作在数据链路层,不会发生数据冲突。

  3. 路由器(router):可以把==两个或多个计算机网络互相连接起来==,形成规模更大的计算机网络,也可称为==”互连网“==。工作在网络层。

    Tips:计算机网络课程中的”路由器“和”家用路由器“有一些区别。==家用路由器 = 路由器 + 交换机 + 其他功能==。

image-20240506194823498

  这样,我们初步建立了下面的基本概念:

  网络把许多计算机连接在一起,而互连网则把许多网络通过一些路由器连接在一起。与网络相接的计算机常称为主机。

  ==互联网(或因特网,Internet)==把全球范围的计算机网络连接起来。

  1. ==ISP==:Internet Service Provider,即互联网服务提供商。如:中国电信/移动/联通。

  2. ==互联网(或因特网,Internet)==由各大ISP和国际机构组建的,覆盖全球范围的互连网(Internet)

  3. 互联网必须使用==TCP/IP==协议通信,互连网可使用任意协议通信。注:“TCP/IP协议”即全球互联网结点遵守的通信协议。

  4. ==IXP==:Internet eXchange Point,即互联网交换点,主要作用为允许两个网络直接相连并交换分组,而不需要再通过第三个网络来转发分组。

    image-20240506201631088

1.2网络协议

  硬件(主机、路由器、通信链路等)是计算机网络的基础。

  计算机网络中的数据交换必须遵守事先约定好的==规则==。任何通信或信息交换过程都需要规则。

  什么是网络协议?

  ==网络协议(network protocol)==,简称为==协议==,是为进行网络中的数据交换而建立的规则、标准或约定。==协议==规定了通信实体之间所交换的信息的==格式、意义、顺序==以及针对收到信息或发生的事件所采取的==“动作”==(actions)。

  协议三要素:

  1. 语法(Syntax):数据与控制信息的结构或格式。底层为信号电平。

  2. 语义(Semantics):需要发出何种控制信息,完成何种动作以及做出何种响应。底层为差错控制

  3. 时序(Timing):事件顺序。底层为速度匹配。

  ==协议规范了网络中所有信息的发送和接受过程。==学习网络的重要内容之一,网络创新的表现形式之一,Internet协议标准。(大量的协议以RFC:Request for Comments文档的形式存在。由IETF:互联网工程任务组 Internet Engineering Task Force进行管理。)

1.3计算机网络组成

  计算机网络大致可以分为以下几个部分:

  1. 网络边缘:主机、网络应用。
  2. 接入网络,物理介质:有线或无线通信链路。
  3. 网络核心(核心网络):互联的路由器(或分组转发设备),网络之网络。

网络边缘

  1. 主机(端系统):位于“网络边缘”,运行网络应用程序。
    • ==计算机之间的通信:指的是“主机A的某个进程和主机B上的另一个进程进行通信”==。
  2. 客户/服务器(client/server)应用模型:客户发送请求,接收服务器响应。
    • 客户和服务器都是指通信中所涉及的两个应用进程。客户是服务请求方,服务器是服务提供方。
    • 客户与服务器的通信关系建立后,通信可以是双向的,客户和服务器都可以发送和接收数据。
    • 客户与服务器本来都指的是计算机进程(软件)。
  3. 对等(peer-peer,P2P)应用模型:无(或不仅依赖)专用服务器,通信在对等实体之间直接进行。

接入网络

  接入网络将网络边缘接入核心网络。可分为:

  1. 家庭接入
  2. 机构接入
  3. 移动接入

  用户关心的为:

  1. 带宽(bandwidth)(bps):在网络中指的是数据传输速率。
  2. 共享/独占

  常见的接入网络:

  • 数字用户线路(DSL):最典型为ADSL,即非对称,指上行速率与下行速率是不一样的。采用典型的频分多路复用技术(FDM)。

    • 利用==已有的==电话线连接中心局的DSLAM

      • 数据通信通过DSL电话线接入Internet。
      • 语音(电话)通过DSL电话线接入电话网。
    • <2.5Mbps上行传输速率(典型速率<1Mbps)

    • <24Mbps下行传输速率(典型速率<10Mbps)
    • ==FDM==:>50kHz - 1MHz用于下行。4kHz - 50kHz用于上行。0kHz - 4kHz用于传统电话。

    image-20240506210301214

  • 电缆网络(cable modem)有线电视。

    • 频分多路复用:在不同频带(载波)上传输不同频道。
    • 数据、电视信号在共享线缆分布式网络上,利用不同频率传输。
    • ==HFC==:混合光纤同轴电缆(hybrid fiber coax)
      • 非对称:下行高达30Mbps传输速率,上行为2Mbps传输速率
    • 各家庭(设备)通过电缆网络→光纤接入ISP路由器
      • 各家庭==共享==家庭至电缆头端的==接入网络==
      • 不同于DSL的==独占==至中心局的接入

image-20240506211559736

  • 机构(企业)接入网络(Ethernet)

    • 主要用于公司、高校、企业等组织机构。

    • 典型传输速率:10Mbps,100Mbps,1Gbps,10Gbps。

    • 目前,端系统通常直接连接以太网(最常见的有线局域网)交换机。

image-20240506212338180

  • 无线接入网络
    • 通过==共享==的无线接入网络连接端系统于路由器
      • 通过==基站==(base station)或称为“==接入点==”(access point)。
    • 主要分为两类:
      • 无线局域网(LANs):同意建筑物内(30m),802.11b/g(WiFi)
      • 广域无线接入:通过电信运营商(蜂窝网),接入范围在几十公里。移动互联网。

网络核心

  互联的路由器网络。网络核心的关键功能:路由+转发。

  网络核心要向网络边缘部分中的大量主机提供连通性,使边缘部分中的任何一台主机都能够与其他主机通信。

  在网络核心部分其特殊作用的是路由器(router),它是一种专用计算机(但不能称为主机)。路由器是实现分组交换的关键构件,其任务是转发收到的分组,这是网络核心部分最重要的功能。

image-20240506213357307

  作为网络核心解决的基本问题:通过==数据交换==实现数据从源主机通过网络核心送达目的主机。

  三种交换方式:

  • 电路交换

    • 经过 “建立连接”(占用通信资源)→“通话”(一直占用通信资源)→“释放连接”(归还通信资源)三个步骤的交换方式称为==电路交换==

    • 其一个重要特点就是在通话的全部时间内,通话的两个用户始终占用端到端的通信资源

    • 当使用电路交换来传送计算机数据时,其线路的传输效率往往很低

      image-20240507154159168

  • 报文交换

    • 通常我们把要发送的整块数据称为一个==报文==(message)。

    • 电报通信也是采用了基于存储转发原理的报文交换。

      image-20240507154857574

  • 分组交换

    • 在发送报文前,先把较长的报文划分为一个个更小的等长数据段。在每一个数据段前加上一些必要的控制信息组成的首部(header)后,就构成了一个分组(packet)。
    • 分组又称为“包“,而分组的首部也可称为”包头“

    • 分组交换采用存储转发技术。

    • 分组中的==”首部“==是非常重要的,正是由于分组的首部包含了诸如目的地址和源地址等重要控制信息,每一个分组才能在互联网中独立地选择传输路径,并被正确地交付到分组传输的终点。
    • 位于网络边缘部分的主机和位于网络核心部分的路由器都是计算机,但它们的作用却很不一样。
      • 主机是为用户进行信息处理的,并且可以和其他主机通过网络交换信息。
      • 路由器则用来转发分组,即进行分组交换。路由器收到一个分组,先暂时存储一下,检查其首部,查找转发表,按照首部中的目的地址,找到合适的接口转发出去,把分组交给下一个路由器。

image-20240509215800450

  详细过程:image-20240510193346248

注:

  1. 假定在某一个分组的传送过程中,链路的通信量太大,那么路由器可以把分组沿另一个路由传送,即先转发到另一个路由器,在转发到其他路由器,最终把分组传送到目的主机。
  2. 路由器暂时存储的是一个个短分组,而不是整个的长报文。短分组是暂存在路由器的(即内存)中而不是存储在磁盘中的。这就保证了较高的交换速率
  3. 实际上,互联网可以容许非常多的主机同时进行通信,而一台主机中的多个进程(即正在运行中的多道程序)也可以各自和不同主机中的不同进程进行通信。
  4. 分组交换在传送数据之前不必先占用一条端到端的通信资源。只有当分组正在哪段链路上传送时,才会占用那段链路的通信资源,在各分组传送的空闲时间,该链路仍可以为其他主机发送的分组使用。
  5. 分组到达一个路由器后,先暂时存储下来,查找转发表,然后从另一条合适的链路转发出去。
  6. 分组在传输时就这样逐段地断续占用通信资源,而且还省去了建立连接和释放连接的开销,因而数据的传输效率更高
  7. 互联网采取了专门的措施,保证了数据的传送具有了非常高的可靠性。当网络中的某些节点或链路突然出现故障时,在各路由器中运行的路由选择协议(protocol)能够自动找到转发分组最合适的路径。
  8. 采用存储转发的分组交换,==实质上是采用了在数据通信的过程中断续(或动态)分配传输带宽的策略。这对传送突发式的计算机数据非常合适,使得通信线路的利用率大大提高了。==
  9. 为提高分组交换网的可靠性,互联网的核心部分常采用网状拓扑结构,使得当发生网络拥塞或少数节点、链路出现故障时,路由器可灵活地改变转发路由而不导致引起通信的中断或全网的瘫痪。
  10. 此外,通信网络的主干线路往往由一些高速链路构成,这样就可以较高的数据率迅速地传送计算机数据。

  总上所述,分组交换的主要优点如下所示:

image-20240510201347274

  分组交换的缺点:

  1. 分组在各路由器存储转发时需要排队,这就会造成一定的时延
  2. 各分组必须携带的控制信息造成了一定的开销(overhead)。整个分组交换网还需要专门的管理和控制机制。

总结

  1. 电路交换:整个报文的比特流连续地从源点直达终点,好像在一个管道中传送。

  2. 报文交换:整个报文先传送到相邻节点,全部存储下来后查找转发表,转发到下一节点。

  3. 分组交换:单个分组(这只是整个报文的一部分)传送到相邻节点,存储下来后查找转发表,转发到下一个节点。

    image-20240510203605510.png

1.4计算机网络的类别

按照网络的作用范围进行分类

名称 范围 特点 备注
广域网WAN(Wide Area Network) 几十~几千公里 互联网的核心部分,其任务是长距离运送主机所发送的数据。与其各节点交换机连接的链路一般都是高速链路,具有较大的通信容量。 有时也称为远程网(long haul network)
城域网MAN(Metropolitan Area Network) 5~50公里 可以为一个或多个单位所拥有,用来将多个局域网进行互连。目前很多城域网采用的是以太网技术,因此有时也常并入局域网的范围进行讨论。 公用设施
局域网LAN(Local Area Network) 1公里左右 一般用微型计算机或工作站通过高速通信线路相连。非常广泛的使用。 学校或企业大都拥有多个互连的局域网(校园网或企业网)
个人区域网PAN(Personal Area Network) 10米左右 把属于个人使用的电子设备用无线技术连接起来的网络,因此也常称为无线个人区域网WPAN。 个人工作使用

按照网络的使用者进行分类

名称 特点 备注
公用网(public network) 指电信公司出资建造的大型网络。 缴纳费用的人都可以使用,因此又称为公众网。
专用网(private network) 某个部门为满足本单位的特殊业务工作的需要而建造的网络。 不向本单位以外的人提供服务。例如,军队、银行、铁路。

用来把用户接入到互联网的网络

  这种网络就是接入网AN(Access Network),又被称为本地接入网居民接入网。即本地ISP所拥有的网络,既不属于互联网的核心部分,也不属于互联网的边缘部分。

1.5计算机网络的性能

速率

  计算机发送信号都是数字形式。

  比特(bit)意为一个“二进制数字”,故一个比特就是二进制数字中的一个1或0。

  比特也是信息论中使用的信息量的单位。网络技术中的速率指的是数据的传送速率,也称为数据率(data rate)或比特率(bit rate)。

  速率单位是$bit/s$(比特每秒)(或$b/s$,有时也写为bps,即bit per second)。当数据较高时,就常常在$bit/s$前加上一个字母。如:k,M,G,T,P,E,Z,Y。

  另外需要注意的是,当提到网络的速率时,往往指的是额定速率标称速率,而并非网络实际上运行的速率。

带宽

  “带宽”(bandwidth)有以下两种不同的意义:

  1. 带宽本来是指某个信号具有的频带宽度。信号的带宽是指该信号所包含的各种不同频带成分所占据的频率范围。这种意义的带宽的单位是(或千赫兆赫吉赫)。因此,表示某信道运行通过的信号频带范围就称为该信道的带宽(或通频带
  2. 在计算机网络中,带宽用来表示网络中某通道传送数据的能力,因此网络带宽表示在单位时间内网络中的某信到所能通过的“最高数据库”。这种意义的带宽的单位就是数据率的单位$bit/s$是”比特每秒“。

  在“带宽”的上述两种表述中,前者为频域称谓,而后者为时域称谓,其本质是相同的。

吞吐量

  吞吐量(throughput)表示在单位时间内通过某个网络(或信道、接口)的实际数据量。

  吞吐量更经常地用于对现实世界中的网络的一种测量,以便知道实际上到底有多少数据量能够通过网络。

  接入到互联网的主机的实际吞吐量,取决于互联网的具体情况。

时延

  时延(delay或latency)是指数据(一个报文或分组,甚至比特)从网络(或链路)的一端传送到另一端所需的时间。时延有时也称为延迟迟延

  网络中的时延是由以下几个不同的部分组成的:

名称 定义 公式
发送时延(transmission delay) 又名传输延时,是主机或路由器发送数据帧所需要的时间。与发送的帧长(单位是比特)成正比,与发送速率成反比。 $发送时延=\frac{数据帧长度(bit)}{发送速率(bit/s)}$
传播时延(propagation delay) 是电磁波在信道中传播一定的距离需要花费的时间。与信号的发送速率无关,与信号传送的距离有关,成正比。 $传播时延=\frac{信道长度(m)}{电磁波子啊信道上的传播速率(m/s)}$
处理时延(nodal processing delay) 主机或路由器在收到分组时要花费一定的时间进行处理,例如分析分组首部、提取数据。 \
排队时延(queuing delay) 分组在进入路由器后要先在输入队列中排队等待处理,当路由器确定了转发接口后,还要再输出队列中排队等待转发。这就产生了排队时延。 \

  数据在网络中经历的总延时就是以上四种延时之和:$总延时=发送延时+传播延时+处理延时+排队延时$

image-20240512201143142.png

  对于高速网络链路,我们提高的仅仅是数据的发送速率而不是比特在链路上的传播速率。荷载信息的电磁波在通信线路上的传播速率(这是光速的数据量级)取决于通信线路的介质材料,而与数据的发送速率无关。提高数据的发送速率只是减小了数据的发送时延

  数据的发送速率的单位是每秒发送多少个比特,这是指在某个点某个接口上的发送速率。而传播速率的单位是每秒传播多少公里,是指在某一段传输线路上比特的传播速率。

时延带宽积

  将传播时延和带宽相乘,就得到了传播时延带宽积。即:$时延带宽积=传播时延\times带宽$

  链路的时延带宽积又称为以比特为单位的链路长度

image-20240512203753442

往返时间RTT

  在计算机网络中,往返时间RTT(Round-Trip Time)也是一个重要的性能指标。这是因为在许多情况下,互联网上的信息不仅仅单方向传输而是双向交互的。

  在某些文献中,也有把RTT称为往返时延(Round-Trip Time delay)的,强调发送方至少要经过这样多的时间,才能知道自己所发送的数据是否被对方接收了。

利用率

  利用率有信道利用率和网络利用率两种。

  1. 信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全闲置的信道的利用率是零。
  2. 网络利用率则是全网络的信道利用率的加权平均值。

  信道利用率并非是越高越好。这是因为,根据排队论的理论,当某些信道的利用率增大时,该信道引起的时延也就迅速增加。

  当网络的通信量很少时,网络产生的时延并不大。但在网络通信量不断增大的情况下,由于分组在网络节点(路由器或节点交换机)进行处理时需要排队等候,因此网络引起的时延就会增大。

  因此我们必须有这样的概念:信道利用率或网络利用率过高就会产生非常大的时延

image-20240512212547328

1.6计算机网络体系结构

  在计算机网络的基本概念中,分层次的体系架构(或架构)是最基本的。

协议与划分层次

  在计算机网络中要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题

  这里所说的同步不是狭义的(即同频或同频同相)而是广义的,即在一定的条件下应当发生什么事件,因而同步含有时序的意思

  这些为进行网络中的数据交换而建立的规则、标准或约定称为网络协议(network protocol)。也可简称为协议。网络协议主要有以下三个要素组成:

  1. 语法,即数据与控制信息的结构或格式。
  2. 语义,即需要发出何种控制信息,完成何种动作以及做出何种响应。
  3. 同步,即事件实现顺序的详细说明。

  任何我们想让连接在网络上的另一台计算机做点什么都需要网络协议。

  对于非常复杂的计算机网络协议,其结构应该是层次式的。以网络传送文件为例。

image-20240513202444526

层次式的优点:

  1. 各层之间是独立的。某一层不用知道它的下一层是如何实现的,,只要知道该层通过层间的接口所提供的服务。
  2. 灵活性好。各层之间不受影响。
  3. 结构上可分割开
  4. 易于维护和实现
  5. 能促进标准化工作

因为分层式的设计,通常各层所要完成的功能主要有以下一些(可以只包括一种,也可以包括多种):

  1. 差错控制:使相应层次对等方的通信更加可靠。
  2. 流量控制:发送端的发送速率必须使接收端来得及接收,不要太快。
  3. 分段和重装:发送端将要发送的数据块划分为更小的单位,在接收端将其还原。
  4. 复用和分用:发送端几个高层会话复用一条低层的连接,在接收端再进行分用。
  5. 连接建立和释放:交换数据前先建立一条逻辑连接,数据传送结束后释放连接。

  分层也有缺点,例如,有些功能在不同层次中重复出现,造成额外开销。

  计算机网络的各层及其协议的集合就是网络的体系结构(architecture)。换种说法,计算机网络的体系结构就是这个计算机网络及其构件所应完成的功能的精确定义

  这些功能究竟是用何种硬件或软件完成的,则是一个遵循这种体系结构的实现的问题。体系结构是抽象的,而实现则是具体的,是真正在运行的计算机硬件和软件

具有五层协议的体系结构

  OSI的七层协议体系结构的概念清楚,理论也比较完整,但复杂且不实用。

  TCP/IP是一个四层的体系结构,包含应用层、运输层、网际层和链路层(网络接口层)。从实质上讲,TCP/IP只有最上面的三层,因为最下面的链路层并没有属于TCP/IP体系的具体协议。

  在讲授计算机网络原理时往往采取另外的方法,即综合OSI和TCP/IP的优点,采用五层协议的体系结构。

image-20240513205547668

简单介绍下各层:

  1. 应用层(application layer)

    • 应用层是体系结构的最高层。应用层的任务是通过应用进程间的交互来完成特定网络应用
    • 应用层协议定义的是应用进程间通信和交互的规则。这里的进程就是指主机中正在运行的程序
    • 对于不同的网络应用需要有不同的应用层协议,例如域名系统DNS、支持万维网应用的HTTP协议、支持电子邮件的SMTP协议。
    • 我们将应用层交互的数据单元称为报文(message)。
  2. 运输层(transport layer)

    • 运输层的任务就是负责向两台主机中进程之间的通信提供通用的数据传输服务。应用层进程利用该服务传送应用层报文。
    • 由于一台主机可以同时运行多个进程,因此运输层有复用和分用的功能。复用即多个应用层进程可同时使用下面运输层的服务,分用则是运输层把收到的信息分别交付上面应用层中的相应进程。
    • 运输层主要使用以下两种协议:
      • 传输控制协议TCP(Transmission Control Protocol)——提供面向连接的、可靠的数据传输服务,其数据传输的单位是报文段(segment)
      • 用户数据报协议UDP(User Datagram Protocol)——提供无连接的尽最大努力(best-effort)的数据传输服务(不保证数据传输的可靠性),其数据传输的单位是用户数据报
  3. 网络层(network layer)

    • 网络层负责为分组交换网上的不同主机提供通信服务。在发送数据时,~网络层把运输层产生的报文段或用户数据报封装成~分组进行传送。
    • 在TCP/IP体系中,由于网络层使用IP协议,因此分组也叫做IP数据报,或简称为数据报
    • 无论在那一层传送的数据单元,都可以笼统地用“分组”来表示。但各层之间需分清楚,不要混淆。
    • 具体任务有两个。第一个:通过一定算法,在互联网中的每一个路由器上生成一个用来转发分组的转发表。第二个:在每一个路由器接收到一个分组时,依据转发表中指明的路径把分组转发到下一个路由器。
    • 互联网是由大量的异构(heterogeneous)网络通过路由器(router)相互连接起来的。互联网使用的网络层协议是无连接的网际协议IP(Internet Protocol)和许多种路由器选择协议,因此互联网的网络层也叫作网际层IP层
  4. 数据链路层(data link layer)

    • 数据链路层简称为链路层。两台主机之间的数据传输,总是在一段段的链路上传送的,这就需要使用专门的链路层的协议。
    • 在两个相邻节点之间传送数据时,数据链路层将网络层交下来的IP数据报组装成帧(framing),在两个相邻节点间的链路送帧(frame)。
    • 每一帧包括数据和必要的控制信息(如同步信息、地址信息、差错控制等)。控制信息使接收端能够知道一个帧从哪个比特开始和到哪个比特结束。同时还能判使接收端检测收到的帧有无差错,若有,则简单地丢弃。
  5. 物理层(physical layer)
  • 在物理层上所传送数据的单位是==比特==。为保证发送与接收的信息相同,物理层需要考虑电缆、电压等物理规定。
    • 用于传递信息所的一些物理传输媒体,如双绞线、同轴电缆、光缆、无线信道等,并不在物理层协议之内,而是在物理层协议下面。
    • 现在经常提起的TCP/IP并不是单指TCP和IP这两个具体的协议,而往往是代表互联网所使用的整个TCP/IP协议族(protocol suite)。

数据传输详细过程:

  1. 主机1将数据交给本主机的第5层(应用层)。
  2. 第5层加上必要的控制信息H~5~就变成了下一层(运输层)的数据单元。
  3. 第4层(运输层)收到这个数据单元后,加上本层的控制信息H~4~,再交给第3层(网络层),成为第3层的数据单元。
  4. 以此类推。不过到了==第2层(数据链路层)==后,==控制信息被分成了两部分==,分别加到本层数据单元的首部(H~2~)和尾部(T~2~)。
  5. 由于第1层(物理层)是比特流的传送,所以不再加上控制信息。注:==传送比特流时应从首部开始传送==。
  6. 当比特流离开主机1,经过网络的物理传输媒体传送到路由器时,就从==路由器的第1层依次上升到第3层==。
  7. 每一层都根据控制信息进行必要的操作,然后将控制信息剥离,将该层剩下的数据单元上交给更高的一层。
  8. 上升到第3层网络层时,就根据首部中的==目的地址==查找路由器中的转发表,找出转发分组的接口。
  9. 然后向下传送到第2层,加上新的首部和尾部后,再到最下面的第1层,然后在物理传输媒体上把每一个比特发送出去。
  10. 当这一串比特流离开路由器到达目的站主机2时,就从主机2的第1层按照一样的方式,依次上升到第5层。

image-20240514153059372

  由于该复杂过程对用户屏蔽,所以任何两个同样的层次之间,似乎是直接传递给对方,这就是所谓的“对等层”(peer layers)之间的通信。我们所说的各层协议,实际上就是在各个对等层之间传递数据时的各项规定。

  OSI参考模型把对等层次之间传送的数据单元称为该层的协议数据单元PDU(Protocol Data Unit)。

实体、协议、服务和服务访问点

  当研究开放系统中的信息交换时,往往使用实体(entity)这一较为抽象的名词表示==任何可发送或接收信息的硬件或软件进程==。在许多情况下,实体就是一个特定的软件模块。

  协议是控制两个对等实体(或多个实体进行通信的规则的集合

  在协议的控制下,两个对等实体间的通信使得本层能够向上一层提供服务。要实现本层协议,还需要使用下面一层所提供的服务

  一定要弄清楚,协议和服务在概念上是很不一样的。

  1. 协议的实现保证了能够向上一层提供服务。使用本层服务的实体只能看见服务而无法看见下面的协议。也就是说,下面的协议对上面的实体是透明的
  2. 协议是”水平的“,即协议是控制==对等实体==之间通信的规则。但是服务是“垂直的”,即服务是由下层向上层通过层间接口提供的。
  3. 另外,并非在一个层内完成的全部功能都称为服务,只有被高一层实体“看得见”的功能才能称之为“服务”。上层使用下层提供的服务必须通过与下层交换一些命令,这些命令在OSI中称为服务原语

  在同一系统中相邻的两层的实体进行交互(即交换信息)的地方,通常称为==服务访问点==SAP(Service Access Point)。服务访问点SAP是一个抽象的概念,实际上就是一个逻辑接口,但这种层间的接口和两个设备之间的硬件接口(并行的或串行的)并不一样。OSI将层与层之间交换的数据的单位称为服务数据单元SDU(Service Data Unit),它可以与PDU不一样。

  这样,在任何相邻两层之间的关系均可以概括为下图

image-20240514161301155

  计算机网络的协议还有一个很重要的特点,即==协议必须把所有不利的条件事先都估计到,而不能假定一切都是正常的和非常理想的==。

  因此,看一个计算机网络协议是否在正确,不能只看正常情况下是否正确,还必须非常仔细地检查协议能否应付任何一种出现概率极小的异常情况

TCP/IP的体系结构

  TCP/IP的体系结构比较简单,它只有四层。

image-20240514163055461

  在现在的互联网使用的TCP/IP体系结构有时已经演变为下图所示:

image-20240514163224074

  这个体系结构没有清晰地阐明区分开服务、接口和协议之间的关系,而且链路层并非真正的一个层次,而仅仅强调了IP层需要这样一个与网络的接口。这个体系结构没有把重要的物理层和链路层包含进来。